package com.icehelper.hades.base.log;

/**
 * @author Leon Sun
 */
public class LogConstant {

    public static final String HEADER_HINT_CONTENT = "header-hint-content";
    public static final String KEY_TRACE_ID = "traceId";
    public static final String KEY_SPAN_ID = "spanId";
    public static final String KEY_DL_TAG = "dlTag";
    public static final String KEY_CHILD_SPAN_ID = "cspanid";
    public static final String KEY_HINT_CODE = "hintCode";
    public static final String KEY_HINT_CONTENT = "hintContent";

    /**
     * 交互请求
     * 必须项目:
     * uri
     * args
     */
    public static final String DLTAG_COM_REQUEST_IN = "_com_request_in";

    /**
     * 交互请求
     * 必须项目:
     * proc_time
     * errno
     * errmsg
     */
    public static final String DLTAG_COM_REQUEST_OUT = "_com_request_out";

    /**
     * http请求成功
     * 必须项：url,
     * proc_time,
     * 非必须项：result
     */
    public static final String DLTAG_COM_HTTP_SUCCESS = "_com_http_success";
    /**
     * http请求失败
     * 必须项：url,
     * errno,
     * errmsg
     * 非必须项：result
     */
    public static final String DLTAG_COM_HTTP_FAILURE = "_com_http_failure";

    /**
     * dubbo请求成功
     * 必须项：host,port,
     * args,interface
     * 非必须项：result
     */
    public static final String DLTAG_COM_DUBBO_SUCCESS = "_com_dubbo_success";

    /**
     * dubbo请求失败
     * 必须项：host,port,
     * args,interface
     * errno,
     * errmsg
     * 非必须项：result
     */
    public static final String DLTAG_COM_DUBBO_FAILURE = "_com_dubbo_failure";


    /**
     * 配置加载
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_CONF_LOAD = "_com_conf_load";

    /**
     * 配置重载
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_CONF_RELOAD = "_com_conf_reload";

    /**
     * 数据加载
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_DATA_LOAD = "_com_data_load";

    /**
     * 数据重载
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_DATA_RELOAD = "_com_data_reload";

    /**
     * 模块启动
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_MODULE_START = "_com_module_start";

    /**
     * 模块停止
     * 必须项：module_name
     * 非必须项：proc_time
     */
    public static final String DLTAG_COM_MODULE_STOP = "_com_module_stop";

    /**
     * mysql操作失败
     * 必须项：
     * host
     * port
     * db_name
     * args
     * oper_type
     * errno
     * errmsg
     */
    public static final String DLTAG_COM_MYSQL_FAILED = "_com_mysql_failed";

    /**
     * mysql操作成功
     * 必须项：
     * host
     * port
     * proc_time
     * args
     * oper_type
     */
    public static final String DLTAG_COM_MYSQL_SUCCESS = "_com_mysql_success";

    /**
     * redis操作失败
     * 必须项：
     * host
     * port
     * db
     * method
     * args
     * errno
     * errmsg
     */
    public static final String DLTAG_COM_REDIS_FAILURE = "_com_redis_failure";

    /**
     * ckv操作失败
     * 必须项：
     * host
     * port
     * args
     * oper_type
     * errno
     * errmsg
     */
    public static final String DLTAG_COM_CKV_FAILURE = "_com_ckv_failure";

    /**
     * thrift操作失败
     * 必须项
     * host
     * port
     * interface
     * args
     * errno
     * errmsg
     */
    public static final String DLTAG_COM_THRIFT_FAILURE = "_com_thrift_failure";

    /**
     * 与后端模块交互失败
     * 必须项：
     * host
     * port
     * interactive_type
     * errno
     * errmsg
     * 非必须项：
     * backend_id
     * data_format
     * data
     */
    public static final String DLTAG_COM_INTERACTIVE_FAILURE = "_com_interactive_failure";

    /**
     * 发push
     * 必须项：
     * host
     * port
     * push_type
     * 非必须项：push_msg
     */
    public static final String DLTAG_COM_TEG_PUSH_SEND = "_com_TEG_PUSH_SEND";

    /**
     * 收push
     * 必须项：
     * host
     * port
     * push_type
     * 非必须项:
     * push_msg
     */
    public static final String DLTAG_COM_TEG_PUSH_RECV = "_com_teg_push_recv";

    /**
     * 订单号
     */
    public static final String KEY_ORDER_ID = "order_id";

    /**
     * 订单金额
     */
    public static final String KEY_ORDER_AMOUNT = "order_amount";
    /**
     * 保证金额
     */
    public static final String KEY_VOUCHER_AMOUNT = "voucher_amount";
    /**
     * 创建时间
     */
    public static final String KEY_CREATE_TIME = "create_time";

    /**
     * 处理时间(ms)
     */
    public static final String KEY_PROC_TIME = "proc_time";

    /**
     * 错误码
     */
    public static final String KEY_ERR_NO = "errno";

    /**
     * 错误消息
     */
    public static final String KEY_ERR_MSG = "errmsg";

    /**
     * 传入参数
     */
    public static final String KEY_ARGS = "args";

    /**
     * 用户id
     */
    public static final String KEY_USER_ID = "user_id";

    /**
     * 用户type
     */
    public static final String KEY_USER_TYPE = "user_type";

    /**
     * 用户code
     */
    public static final String KEY_USER_CODE = "user_code";

    /**
     * 业务type
     */
    public static final String KEY_BIZ_TYPE = "biz_type";

    /**
     * url
     */
    public static final String KEY_URL = "url";

    /**
     * uri
     */
    public static final String KEY_URI = "uri";

    /**
     * uri
     */
    public static final String KEY_REAL_IP = "real_ip";

    /**
     * HOST
     */
    public static final String KEY_HOST = "host";

    /**
     * PORT
     */
    public static final String KEY_PORT = "port";

    /**
     * method
     */
    public static final String KEY_METHOD = "method";

    /**
     * interface
     */
    public static final String KEY_INTERFACE = "interface";

    /**
     * module_name
     */
    public static final String KEY_MODULE_NAME = "module_name";

    /**
     * result
     */
    public static final String KEY_RESULT = "result";

    /**
     * date
     */
    public static final String KEY_DATE = "date";

    /**
     * pay_id
     */
    public static final String KEY_PAY_ID = "pay_id";

    /**
     * response
     */
    public static final String KEY_RESPONSE = "response";

    /**
     * Content-Type
     */
    public static final String KEY_CONTENT_TYPE = "content_type";

    /**
     * request_body
     */
    public static final String REQUEST_BODY = "request_body";

    /**
     * 司机ID
     */
    public static final String KEY_DRIVER_ID = "driver_id";


}
